# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %p/Inputs/start.s -o %t.start.o
# RUN: wasm-ld --import-memory -o %t.wasm %t.start.o
# RUN: obj2yaml %t.wasm | FileCheck %s

# Verify the --import-memory flag creates a memory import

# CHECK:       - Type:            IMPORT
# CHECK-NEXT:    Imports:
# CHECK-NEXT:      - Module:          env
# CHECK-NEXT:        Field:           memory
# CHECK-NEXT:        Kind:            MEMORY
# CHECK-NEXT:        Memory:
# CHECK-NEXT:          Minimum:         0x2
# CHECK-NEXT:  - Type:



# RUN: wasm-ld --import-memory --initial-memory=262144 \
# RUN:     --max-memory=327680 -o %t.max.wasm %t.start.o
# RUN: obj2yaml %t.max.wasm | FileCheck -check-prefix=CHECK-MAX %s

# Verify the --initial-memory and --max-memory arguments work with imports

# CHECK-MAX:       - Type:            IMPORT
# CHECK-MAX-NEXT:    Imports:
# CHECK-MAX-NEXT:      - Module:          env
# CHECK-MAX-NEXT:        Field:           memory
# CHECK-MAX-NEXT:        Kind:            MEMORY
# CHECK-MAX-NEXT:        Memory:
# CHECK-MAX-NEXT:          Flags:           [ HAS_MAX ]
# CHECK-MAX-NEXT:          Minimum:         0x4
# CHECK-MAX-NEXT:          Maximum:         0x5
# CHECK-MAX-NEXT:  - Type:

# RUN: wasm-ld --import-memory --shared-memory --features=atomics,bulk-memory \
# RUN:     --initial-memory=262144 --max-memory=327680 -o %t.max.wasm %t.start.o
# RUN: obj2yaml %t.max.wasm | FileCheck -check-prefix=CHECK-SHARED %s

# Verify the --shared-memory flag works with imports

# CHECK-SHARED:       - Type:            IMPORT
# CHECK-SHARED-NEXT:    Imports:
# CHECK-SHARED-NEXT:      - Module:          env
# CHECK-SHARED-NEXT:        Field:           memory
# CHECK-SHARED-NEXT:        Kind:            MEMORY
# CHECK-SHARED-NEXT:        Memory:
# CHECK-SHARED-NEXT:          Flags:           [ HAS_MAX, IS_SHARED ]
# CHECK-SHARED-NEXT:          Minimum:         0x4
# CHECK-SHARED-NEXT:          Maximum:         0x5
# CHECK-SHARED-NEXT:  - Type:
